# -*- coding: utf-8 -*-
"""
@Time ： 2020/8/6 10:51
@Auth ： Mr. JJ_Cloud
@Company ：testingedu.com.cn
@Function ：快速排序
"""

def quick_sort(height,left,right):
    l = left
    h = right

    # 选择最后一个为基准
    base = height[h]

    while l < h:

        while l < h:
            # 从左往右找比基准大的
            if height[l] > base:
                height[l],height[h] = height[h],height[l]
                # h往左移动一位
                h = h - 1
                break
            else:
                l = l + 1
        while l < h:
            # 从右往左找比基准小的
            if height[h] < base:
                height[l],height[h] = height[h],height[l]
                # l往右移动一位
                l = l + 1
                break
            else:
                h = h - 1

    if l > left + 1:
        # 对左边继续排序
        quick_sort(height,left,l-1)
    if h < right - 1:
        # 对右边继续排序
        quick_sort(height,h+1,right)

h = [155,172,187,160,163,166,173,182,165,159]
quick_sort(h,0,len(h)-1)
print(h)